package com.likou;

import java.util.Deque;
import java.util.LinkedList;

/**
 * Author: 陈桂明
 * Date: 2025/4/16 21:13
 * Description: q739
 */
public class q739 {
    public int[] dailyTemperatures(int[] temperatures) {
        int[] ans = new int[temperatures.length];
        Deque<Integer> stack = new LinkedList<>();
        for (int i = 0; i < temperatures.length; i++) {
            int temperature = temperatures[i];
            while (!stack.isEmpty() && temperature > temperatures[stack.peek()]) {
                ans[stack.peek()] = i - stack.peek();
                stack.pop();
            }
            stack.push(i);
        }

        return ans;
    }


    // public int[] dailyTemperatures(int[] temperatures) {
    //     int[] ans = new int[temperatures.length];
    //
    //     for (int i = 0; i < temperatures.length; i++) {
    //         int t1 = temperatures[i];
    //         int sum = 0;
    //         for (int j = i + 1; j < temperatures.length; j++) {
    //             int t2 = temperatures[j];
    //             sum++;
    //             if (t2 > t1) {
    //                 break;
    //             }
    //             if (j == temperatures.length - 1) {
    //                 sum = 0;
    //             }
    //         }
    //         ans[i] = sum;
    //     }
    //
    //     return ans;
    // }
}
